home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2006 September
/
PCWorld_2006-09_cd.bin
/
v cisle
/
vlink
/
V-Link.exe
/
V-Link.vbs
Wrap
Text File
|
2006-07-14
|
6KB
|
168 lines
Dim VLink(100)
Dim VTrue(100)
Dim CLSID(100)
dim counter
dim regkey
SET MyShell = Wscript.CreateObject("Wscript.Shell")
SET MyFiles = CreateObject("Scripting.FileSystemObject")
Set AppShell = CreateObject("Shell.Application")
WhatsDone
temp=msgbox ("Chcete vytvo°it virtußlnφ slo₧ku?",4," V-Link")
if temp = 6 then
NeuerEintrag
else
temp=msgbox ("Chcete virtußlnφ slo₧ku(y) zruÜit?",1," V-Link")
if temp = 2 then
wscript.quit
else
EintragEntfernen
end if
end if
Sub NeuerEintrag()
on error resume next
err.clear
Set AppFolder = Appshell.BrowseForFolder(0, "Vyberte novou slo₧ku, na kterou chcete vytvo°it odkaz na jinΘm disku...", &H0001, 17)
verz1 = AppFolder.ParentFolder.ParseName(AppFolder.Title).Path
if verz1="" then
msgbox "Operaci nelze provΘst." & chr(13) & "Bu∩ jste dialogovΘ okno zav°eli, " & chr(13) & "nebo se vybranß slo₧ka k vytvo°enφ virtußlnφ slo₧ky nehodφ",16," V-Link"
wscript.quit
end if
If Err.Number > 0 Then
GanzesLaufwerk=1
i = InStr(Appfolder, ":")
verz1 = Mid(Appfolder, i - 1, 1) & ":\"
End If
TrueName=verz1
do
verz1=mid(verz1,2)
loop while instr(verz1,"\")
for tmp = 0 to counter
if VTrue(tmp) = TrueName then
i=instr(VLink(tmp),".{000")
showonly=left(Vlink(tmp),i-1)
temp=msgbox (TrueName & " je ji₧ namapovßna jako " & chr(13) & showonly & chr(13) & chr(13) & "Chcete p°esto pokraΦovat?",4, "V-Link")
if temp=7 then Wscript.quit
exit for
end if
next
err.clear
Set AppFolder = Appshell.BrowseForFolder(0, "Nynφ vyberte slo₧ku, kam chcete " & verz1 & " virtußlnφ slo₧ku umφstit...", &H0001, 17)
verz2 = AppFolder.ParentFolder.ParseName(AppFolder.Title).Path
If Err.Number > 0 Then
i = InStr(Appfolder, ":")
verz2 = Mid(Appfolder, i - 1, 1) & ":\"
End If
if verz2="" then
msgbox "Operaci nelze provΘst." & chr(13) & "Bu∩ jste dialogovΘ okno zav°eli, " & chr(13) & "nebo se cφlovß slo₧ka k vytvo°enφ virtußlnφ slo₧ky nehodφ.",16," V-Link"
wscript.quit
end if
temp=verz2 & "\" & verz1
temp=replace(temp,"\\","\")
if temp=showonly then
msgbox "Operaci nelze provΘst.",16," V-Link"
wscript.quit
end if
if left(truename,2)=left(verz2,2) then
temp=msgbox ("Slo₧ka se nachßzφ na stejnΘm disku. " & chr(13) & "Chcete p°esto pokraΦovat?",36," V-Link")
if temp = 7 then wscript.quit
end if
if GanzesLaufwerk=1 then
temp=msgbox ("Mß se skuteΦn∞ cel² disk " & verz1 & chr(13) & " objevit v " & verz2 & " ?",4, "V-Link")
if temp=7 then wscript.quit
verz1=verz1 & "___" & left(verz1,1) & "___"
end if
counter = counter + 1
if counter = 100 then
msgbox "Operaci nelze provΘst." & chr(13) & "Bylo dosa₧eno maximßlnφho poΦtu virtußlnφch slo₧ek.",16," V-Link"
wscript.quit
end if
if counter = 10 then
regkey="HKCR\CLSID\{00000000-00AB-FE1B-0ECC-" & string(10,"0") & counter & "}\"
end if
endung=replace(regkey,"HKCR\CLSID\","")
endung=replace(endung,"\","")
temp=verz2 & "\" & verz1 & "." & endung
temp=replace(temp,"\\","\")
err.clear
myfiles.createfolder(temp)
if err.number > 0 then
msgbox "Nelze vytvo°it po₧adovanou virtußlnφ slo₧ku.",48," V-Link"
wscript.quit
end if
myshell.regwrite regkey,"<V-Link>","REG_SZ"
myshell.regwrite regkey & "NeverShowExt","","REG_SZ"
myshell.regwrite regkey & "Shell\","","REG_SZ"
myshell.regwrite regkey & "Shell\Open\","TrueName","REG_SZ"
myshell.regwrite regkey & "Shell\Open\VTrue",TrueName,"REG_SZ"
myshell.regwrite regkey & "Shell\Open\VLink",temp,"REG_SZ"
myshell.regwrite regkey & "Shell\Open\Command\","explorer.exe /idlist,%I,%L","REG_SZ"
myshell.regwrite regkey & "Shell\Open\ddeexec\","[ViewFolder(" & chr(34) & "%1" & chr(34) & "," & chr(34) & TrueName & chr(34) & ",%S)]","REG_SZ"
myshell.regwrite regkey & "Shell\Open\ddeexec\application\","Folders","REG_SZ"
myshell.regwrite regkey & "Shell\Open\ddeexec\topic\","AppProperties","REG_SZ"
myshell.regwrite regkey & "Shell\Open\ddeexec\ifexec\","[]","REG_SZ"
myshell.regwrite regkey & "DefaultIcon\","shell32.dll,3","REG_SZ"
msgbox TrueName & " byla p°i°azena " & verz2 & " ." & chr(13) & chr(13) & "Jednß se o prßzdnou slo₧ku s Class-ID," & chr(13) & ", kterß odkazuje pouze na vlastnφ cφlovou slo₧ku." & chr(13) & "K odstran∞nφ takovΘ virtußlnφ slo₧ky pou₧ijte tento skript." & chr(13) & "Dojde i k nevratnΘmu oÜet°enφ vÜech polo₧ek v registru.",," V-Link"
End Sub
Sub EintragEntfernen()
if counter=-1 then
msgbox "Nebyly nalezeny ₧ßdnΘ odkazy na virtußlnφ slo₧ky.",0," Nemßm co d∞lat..."
else
for temp=counter to 0 step -1
i=instr(VLink(temp),".{0000")
showonly=left(VLink(temp),i-1)
tmp=msgbox ("Chcete V-Link " & showonly & " ( ==> " & VTrue(temp) & ") odstranit?",1, " V-Link")
if tmp=2 then wscript.quit
if tmp=1 then
myshell.regdelete clsid(temp) & "DefaultIcon\"
myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\application\"
myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\topic\"
myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\ifexec\"
myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\"
myshell.regdelete clsid(temp) & "Shell\Open\Command\"
myshell.regdelete clsid(temp) & "Shell\Open\"
myshell.regdelete clsid(temp) & "Shell\"
myshell.regdelete clsid(temp)
tmp=msgbox (showonly & " byla z logickΘho hlediska odstran∞na. Mß se slo₧ka odstranit i fyzicky?",36, " V-Link")
on error resume next
if tmp=6 then
set try2kill=MyFiles.GetFolder(VLink(temp))
try2kill.delete
end if
end if
next
end if
End Sub
sub WhatsDone()
on error resume next
counter = 0
do
if counter > 9 then
regkey="HKCR\CLSID\{00000000-00AB-FE1B-0ECC-" & string(10,"0") & counter & "}\"
else
regkey="HKCR\CLSID\{00000000-00AB-FE1B-0ECC-" & string(11,"0") & counter & "}\"
end if
CLSID(counter)=regkey
VLink(counter)=myshell.regread (regkey & "shell\open\VLink")
VTrue(counter)=myshell.regread (regkey & "shell\open\VTrue")
counter=counter + 1
loop while err.number=0
counter=counter-2
end sub